On The Power of Curriculum Learning in Training Deep Networks

On The Power of Curriculum Learning in Training Deep Networks

ICML 2019 课程学习在图像识别上的改进。

ICML 2019 :https://arxiv.org/abs/1904.03626

code: https://github.com/GuyHacohen/curriculum_learning

本文主要介绍利用课程学习在图像识别上的改进,如何非均匀采样mini batches,以及做了多组对比实验(包括SPL和 repeat bootstrapping)关注的主要问题也是课程学习中的两个难点:

  1. 依据难度对样本进行排序

  2. 对一系列的min-batches根据其难度依次进行训练。

对应的解决方式

  1. 与之前的研究有创新的点是引入 transfer learning,也符合图像识别中的特点,引入教师网络和自助法(Bootstrapping)

  2. 尝试了不同的pace function,与之前的研究差别不大

具体方法

- 本文尝试了两种Scoring functions :

  1. Transfer scoring function :利用在imagenet上pretrain的inception网络,为每个样本的在其上得到的特征向量训练一个分类器,利用分类器的confidence score作为每个图片的scoring function。

  2. Self-taught scoring function (Bootstrapping): 对样本进行均匀采样,计算当前网络每个图片confidence score作为scoring function,可重复这个过程,意思是score function可以更新,即在用CL训练网络后,用新的confidence score定义scoring function再retrain。(但这种方法最后的实验效果并理想,作者认为的原因是,如果一开始将某一样本误判为easy,则后续训练则一直认为这个样本是easy,这里不是很理解。)

- 本文还尝试了三种pace function:

- img

  1. Fixed exponential pacing :训练开始时向学习者投入一小部分数据,然后在固定次数的学习迭代中每次以指数方式增加训练样本

img

  1. Varied exponential pacing :与上面方法相似,但每次迭代中训练步数是step length是可以变化的。

img

img

  1. Single-step pacing :固定iteration变化一次

img

Result:

本文的做了一系列的对比实验和分析,

img

  1. 这一组实验里的Anti 指的是CL的逆过程(harder examples are sampled before easier ones),CL的结果是优于Anti以及Random的。

img

  1. 这一组实验是综合对比本文提出的各种方法,也做了SPL的实验,但是效果是最差的,可以看出SPL在实际应用时还不是很理想。最好的实验结果时是应用Varied exponential pacing作为pace function。

  2. 对于提出的transfer scoring function也在不同教师网络,和不同分类器上做了对比实验。

img

Sih总结

  1. Transfer learning的做法在图像领域上使用的,如果要用在NLP上,之前的尝试是有的工作将BERT作为获取获取句子置信分数的特征提取模型,应用的是QA领域进行课程学习。

  2. Anti的实验证明了CL的效果,repeat bootstrapping 和我之前的想法类似,就是要在一轮训练之后,更新当前的难度评价函数,再retrain,但本文中的实验效果并不好。

  3. Pace function没有创新,但给出了源代码所以可以借鉴尝试。

Comments

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×